<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>变量提升与函数提升</title>
</head>
<body>
  <!-- 
    1、变量声明提升
      * 通过var定义（声明）的变量，在定义语句之前可以访问到
      * 值：undefined
    2、函数声明提升
      * 通过function声明的函数，在之前就可以直接调用
      * 值：函数定义（对象）
    3、问题：变量提升和函数提升是如何产生的？
   -->
   <script>
    //  例题
    var a = 3
    function fn(){
      console.log(a)
      var a = 4
    }
    fn()//undefined
   </script>
</body>
</html>